import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

class SMTPEmail(object):
    def __init__(self,smtp_host,smtp_port,my_sender,my_pass):
        self.smtp_host=smtp_host
        self.smtp_port=smtp_port
        self.my_sender=my_sender
        self.my_pass=my_pass
    def mail(self,message,toUser):
        ret=True
        try:
            msg=MIMEText(message,'plain','utf-8')
            msg['From']=formataddr(["易春晓的抢票小助手",self.my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
            msg['To']=formataddr(["亲爱的购票人",toUser])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号
            msg['Subject']="12306车票待支付通知"                # 邮件的主题，也可以说是标题
     
            server=smtplib.SMTP_SSL(self.smtp_host, int(self.smtp_port))  # 发件人邮箱中的SMTP服务器，端口是25
             # 括号中对应的是发件人邮箱账号、邮箱密码
            server.login(self.my_sender, self.my_pass)
            server.sendmail(self.my_sender,[toUser,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
            server.quit()  # 关闭连接
        except Exception as e:  # 如果 try 中的语句没有执行，则会执行下面的 ret=False
            ret=False
            raise e
        return ret